package com.leadingsoft.core.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CodeExample {
	protected String orderByClause;
	protected boolean distinct;
	protected List<Criteria> oredCriteria;

	public CodeExample() {
		oredCriteria = new ArrayList<Criteria>();
	}
	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}
	public String getOrderByClause() {
		return orderByClause;
	}
	public void setDistinct(boolean distinct) {
		this.distinct = distinct;
	}
	public boolean isDistinct() {
		return distinct;
	}
	public List<Criteria> getOredCriteria() {
		return oredCriteria;
	}
	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}
	public Criteria or() {
		Criteria criteria = createCriteriaInternal();
		oredCriteria.add(criteria);
		return criteria;
	}
	public Criteria createCriteria() {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}
	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}
	public void clear() {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
	}

	protected abstract static class GeneratedCriteria {
		protected List<Criterion> criteria;

		protected GeneratedCriteria() {
			super();
			criteria = new ArrayList<Criterion>();
		}
		public boolean isValid() {
			return criteria.size() > 0;
		}
		public List<Criterion> getAllCriteria() {
			return criteria;
		}
		public List<Criterion> getCriteria() {
			return criteria;
		}
		protected void addCriterion(String condition) {
			if (condition == null) {
				throw new RuntimeException("Value for condition cannot be null");
			}
			criteria.add(new Criterion(condition));
		}
		protected void addCriterion(String condition, Object value, String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property + " cannot be null");
			}
			criteria.add(new Criterion(condition, value));
		}
		protected void addCriterion(String condition, Object value1, Object value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property + " cannot be null");
			}
			criteria.add(new Criterion(condition, value1, value2));
		}
		public Criteria andCodeIdIsNull() {
			addCriterion("code_id is null");
			return (Criteria) this;
		}
		public Criteria andCodeIdIsNotNull() {
			addCriterion("code_id is not null");
			return (Criteria) this;
		}
		public Criteria andCodeIdEqualTo(Integer value) {
			addCriterion("code_id =", value, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdNotEqualTo(Integer value) {
			addCriterion("code_id <>", value, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdGreaterThan(Integer value) {
			addCriterion("code_id >", value, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdGreaterThanOrEqualTo(Integer value) {
			addCriterion("code_id >=", value, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdLessThan(Integer value) {
			addCriterion("code_id <", value, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdLessThanOrEqualTo(Integer value) {
			addCriterion("code_id <=", value, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdIn(List<Integer> values) {
			addCriterion("code_id in", values, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdNotIn(List<Integer> values) {
			addCriterion("code_id not in", values, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdBetween(Integer value1, Integer value2) {
			addCriterion("code_id between", value1, value2, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeIdNotBetween(Integer value1, Integer value2) {
			addCriterion("code_id not between", value1, value2, "codeId");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractIsNull() {
			addCriterion("code_abstract is null");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractIsNotNull() {
			addCriterion("code_abstract is not null");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractEqualTo(String value) {
			addCriterion("code_abstract =", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractNotEqualTo(String value) {
			addCriterion("code_abstract <>", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractGreaterThan(String value) {
			addCriterion("code_abstract >", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractGreaterThanOrEqualTo(String value) {
			addCriterion("code_abstract >=", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractLessThan(String value) {
			addCriterion("code_abstract <", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractLessThanOrEqualTo(String value) {
			addCriterion("code_abstract <=", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractLike(String value) {
			addCriterion("code_abstract like", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractNotLike(String value) {
			addCriterion("code_abstract not like", value, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractIn(List<String> values) {
			addCriterion("code_abstract in", values, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractNotIn(List<String> values) {
			addCriterion("code_abstract not in", values, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractBetween(String value1, String value2) {
			addCriterion("code_abstract between", value1, value2, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeAbstractNotBetween(String value1, String value2) {
			addCriterion("code_abstract not between", value1, value2, "codeAbstract");
			return (Criteria) this;
		}
		public Criteria andCodeTypeIsNull() {
			addCriterion("code_type is null");
			return (Criteria) this;
		}
		public Criteria andCodeTypeIsNotNull() {
			addCriterion("code_type is not null");
			return (Criteria) this;
		}
		public Criteria andCodeTypeEqualTo(String value) {
			addCriterion("code_type =", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeNotEqualTo(String value) {
			addCriterion("code_type <>", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeGreaterThan(String value) {
			addCriterion("code_type >", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeGreaterThanOrEqualTo(String value) {
			addCriterion("code_type >=", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeLessThan(String value) {
			addCriterion("code_type <", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeLessThanOrEqualTo(String value) {
			addCriterion("code_type <=", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeLike(String value) {
			addCriterion("code_type like", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeNotLike(String value) {
			addCriterion("code_type not like", value, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeIn(List<String> values) {
			addCriterion("code_type in", values, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeNotIn(List<String> values) {
			addCriterion("code_type not in", values, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeBetween(String value1, String value2) {
			addCriterion("code_type between", value1, value2, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeTypeNotBetween(String value1, String value2) {
			addCriterion("code_type not between", value1, value2, "codeType");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryIsNull() {
			addCriterion("code_category is null");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryIsNotNull() {
			addCriterion("code_category is not null");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryEqualTo(String value) {
			addCriterion("code_category =", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryNotEqualTo(String value) {
			addCriterion("code_category <>", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryGreaterThan(String value) {
			addCriterion("code_category >", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryGreaterThanOrEqualTo(String value) {
			addCriterion("code_category >=", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryLessThan(String value) {
			addCriterion("code_category <", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryLessThanOrEqualTo(String value) {
			addCriterion("code_category <=", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryLike(String value) {
			addCriterion("code_category like", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryNotLike(String value) {
			addCriterion("code_category not like", value, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryIn(List<String> values) {
			addCriterion("code_category in", values, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryNotIn(List<String> values) {
			addCriterion("code_category not in", values, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryBetween(String value1, String value2) {
			addCriterion("code_category between", value1, value2, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodeCategoryNotBetween(String value1, String value2) {
			addCriterion("code_category not between", value1, value2, "codeCategory");
			return (Criteria) this;
		}
		public Criteria andCodePrivateIsNull() {
			addCriterion("code_private is null");
			return (Criteria) this;
		}
		public Criteria andCodePrivateIsNotNull() {
			addCriterion("code_private is not null");
			return (Criteria) this;
		}
		public Criteria andCodePrivateEqualTo(Byte value) {
			addCriterion("code_private =", value, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateNotEqualTo(Byte value) {
			addCriterion("code_private <>", value, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateGreaterThan(Byte value) {
			addCriterion("code_private >", value, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateGreaterThanOrEqualTo(Byte value) {
			addCriterion("code_private >=", value, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateLessThan(Byte value) {
			addCriterion("code_private <", value, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateLessThanOrEqualTo(Byte value) {
			addCriterion("code_private <=", value, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateIn(List<Byte> values) {
			addCriterion("code_private in", values, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateNotIn(List<Byte> values) {
			addCriterion("code_private not in", values, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateBetween(Byte value1, Byte value2) {
			addCriterion("code_private between", value1, value2, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andCodePrivateNotBetween(Byte value1, Byte value2) {
			addCriterion("code_private not between", value1, value2, "codePrivate");
			return (Criteria) this;
		}
		public Criteria andAddTimeIsNull() {
			addCriterion("add_time is null");
			return (Criteria) this;
		}
		public Criteria andAddTimeIsNotNull() {
			addCriterion("add_time is not null");
			return (Criteria) this;
		}
		public Criteria andAddTimeEqualTo(Date value) {
			addCriterion("add_time =", value, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeNotEqualTo(Date value) {
			addCriterion("add_time <>", value, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeGreaterThan(Date value) {
			addCriterion("add_time >", value, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("add_time >=", value, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeLessThan(Date value) {
			addCriterion("add_time <", value, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeLessThanOrEqualTo(Date value) {
			addCriterion("add_time <=", value, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeIn(List<Date> values) {
			addCriterion("add_time in", values, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeNotIn(List<Date> values) {
			addCriterion("add_time not in", values, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeBetween(Date value1, Date value2) {
			addCriterion("add_time between", value1, value2, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddTimeNotBetween(Date value1, Date value2) {
			addCriterion("add_time not between", value1, value2, "addTime");
			return (Criteria) this;
		}
		public Criteria andAddUserIsNull() {
			addCriterion("add_user is null");
			return (Criteria) this;
		}
		public Criteria andAddUserIsNotNull() {
			addCriterion("add_user is not null");
			return (Criteria) this;
		}
		public Criteria andAddUserEqualTo(Integer value) {
			addCriterion("add_user =", value, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserNotEqualTo(Integer value) {
			addCriterion("add_user <>", value, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserGreaterThan(Integer value) {
			addCriterion("add_user >", value, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserGreaterThanOrEqualTo(Integer value) {
			addCriterion("add_user >=", value, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserLessThan(Integer value) {
			addCriterion("add_user <", value, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserLessThanOrEqualTo(Integer value) {
			addCriterion("add_user <=", value, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserIn(List<Integer> values) {
			addCriterion("add_user in", values, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserNotIn(List<Integer> values) {
			addCriterion("add_user not in", values, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserBetween(Integer value1, Integer value2) {
			addCriterion("add_user between", value1, value2, "addUser");
			return (Criteria) this;
		}
		public Criteria andAddUserNotBetween(Integer value1, Integer value2) {
			addCriterion("add_user not between", value1, value2, "addUser");
			return (Criteria) this;
		}
		public Criteria andEditTimeIsNull() {
			addCriterion("edit_time is null");
			return (Criteria) this;
		}
		public Criteria andEditTimeIsNotNull() {
			addCriterion("edit_time is not null");
			return (Criteria) this;
		}
		public Criteria andEditTimeEqualTo(Date value) {
			addCriterion("edit_time =", value, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeNotEqualTo(Date value) {
			addCriterion("edit_time <>", value, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeGreaterThan(Date value) {
			addCriterion("edit_time >", value, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("edit_time >=", value, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeLessThan(Date value) {
			addCriterion("edit_time <", value, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeLessThanOrEqualTo(Date value) {
			addCriterion("edit_time <=", value, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeIn(List<Date> values) {
			addCriterion("edit_time in", values, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeNotIn(List<Date> values) {
			addCriterion("edit_time not in", values, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeBetween(Date value1, Date value2) {
			addCriterion("edit_time between", value1, value2, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditTimeNotBetween(Date value1, Date value2) {
			addCriterion("edit_time not between", value1, value2, "editTime");
			return (Criteria) this;
		}
		public Criteria andEditUserIsNull() {
			addCriterion("edit_user is null");
			return (Criteria) this;
		}
		public Criteria andEditUserIsNotNull() {
			addCriterion("edit_user is not null");
			return (Criteria) this;
		}
		public Criteria andEditUserEqualTo(Integer value) {
			addCriterion("edit_user =", value, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserNotEqualTo(Integer value) {
			addCriterion("edit_user <>", value, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserGreaterThan(Integer value) {
			addCriterion("edit_user >", value, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserGreaterThanOrEqualTo(Integer value) {
			addCriterion("edit_user >=", value, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserLessThan(Integer value) {
			addCriterion("edit_user <", value, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserLessThanOrEqualTo(Integer value) {
			addCriterion("edit_user <=", value, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserIn(List<Integer> values) {
			addCriterion("edit_user in", values, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserNotIn(List<Integer> values) {
			addCriterion("edit_user not in", values, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserBetween(Integer value1, Integer value2) {
			addCriterion("edit_user between", value1, value2, "editUser");
			return (Criteria) this;
		}
		public Criteria andEditUserNotBetween(Integer value1, Integer value2) {
			addCriterion("edit_user not between", value1, value2, "editUser");
			return (Criteria) this;
		}
		public Criteria andDelFlagIsNull() {
			addCriterion("del_flag is null");
			return (Criteria) this;
		}
		public Criteria andDelFlagIsNotNull() {
			addCriterion("del_flag is not null");
			return (Criteria) this;
		}
		public Criteria andDelFlagEqualTo(Byte value) {
			addCriterion("del_flag =", value, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagNotEqualTo(Byte value) {
			addCriterion("del_flag <>", value, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagGreaterThan(Byte value) {
			addCriterion("del_flag >", value, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagGreaterThanOrEqualTo(Byte value) {
			addCriterion("del_flag >=", value, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagLessThan(Byte value) {
			addCriterion("del_flag <", value, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagLessThanOrEqualTo(Byte value) {
			addCriterion("del_flag <=", value, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagIn(List<Byte> values) {
			addCriterion("del_flag in", values, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagNotIn(List<Byte> values) {
			addCriterion("del_flag not in", values, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagBetween(Byte value1, Byte value2) {
			addCriterion("del_flag between", value1, value2, "delFlag");
			return (Criteria) this;
		}
		public Criteria andDelFlagNotBetween(Byte value1, Byte value2) {
			addCriterion("del_flag not between", value1, value2, "delFlag");
			return (Criteria) this;
		}
	}

	public static class Criteria extends GeneratedCriteria {
		protected Criteria() {
			super();
		}
	}

	public static class Criterion {
		private String condition;
		private Object value;
		private Object secondValue;
		private boolean noValue;
		private boolean singleValue;
		private boolean betweenValue;
		private boolean listValue;
		private String typeHandler;

		public String getCondition() {
			return condition;
		}
		public Object getValue() {
			return value;
		}
		public Object getSecondValue() {
			return secondValue;
		}
		public boolean isNoValue() {
			return noValue;
		}
		public boolean isSingleValue() {
			return singleValue;
		}
		public boolean isBetweenValue() {
			return betweenValue;
		}
		public boolean isListValue() {
			return listValue;
		}
		public String getTypeHandler() {
			return typeHandler;
		}
		protected Criterion(String condition) {
			super();
			this.condition = condition;
			this.typeHandler = null;
			this.noValue = true;
		}
		protected Criterion(String condition, Object value, String typeHandler) {
			super();
			this.condition = condition;
			this.value = value;
			this.typeHandler = typeHandler;
			if (value instanceof List<?>) {
				this.listValue = true;
			} else {
				this.singleValue = true;
			}
		}
		protected Criterion(String condition, Object value) {
			this(condition, value, null);
		}
		protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
			super();
			this.condition = condition;
			this.value = value;
			this.secondValue = secondValue;
			this.typeHandler = typeHandler;
			this.betweenValue = true;
		}
		protected Criterion(String condition, Object value, Object secondValue) {
			this(condition, value, secondValue, null);
		}
	}
}
